$.extend({

			/**
			 * tab切换插件 支持一组按钮控制多个模块，目前只有第一组模块支持特效
			 * 
			 * @param options
			 */
			tab : function(options) {

				var o = {
					// 按钮父层ID
					btnId : "btn",
					// 显示图 父层ID，可多个，逗号分隔
					boxId : "box",
					// 按钮选中样式
					tabHere : "here",
					// 触发事件
					event : "click",
					// 动画效果 0：无效果直接显示关闭
					effect : 0,
					// 自动播放
					autoPlay : false,
					// 保留字=btnId
					tabId : "tab"
				};
				// 参数处理
				$.extend(o, options);

				// 版本兼容处理
				if (o.btnId == "" || o.btnId == "btn") {
					o.btnId = o.tabId;
				}

				// 按钮jq对象
				var $btns = "";
				// 显示盒jq数组
				var $boxes = new Array();
				// 页卡/热点图数量
				var len = 0;
				// boxouter
				// var $boxOuter = "";

				$btns = $("#" + o.btnId).children();

				$(o.boxId.split(",")).each(function(i) {
							// if (i == 0) {
							// $boxOuter = $("#" + this);
							// }
							$boxes.push($("#" + this).children());
						});

				len = $btns.size();

				// 当前索引
				var index = 0;
				// 上次索引
				var pIndex = 0;

				// 设置初始tabHere
				if (typeof o.tabHere == "string") {
					var tempHere = o.tabHere;
					o.tabHere = new Array();
					for (var i = 0; i < len; i++) {
						o.tabHere.push(tempHere);
					}
				}

				// 设置动画效果所需的初始状态
				if (o.effect == 1 || o.effect == 2) {
					$boxes[0].css({
								"position" : "absolute",
								"top" : 0,
								"left" : 0
							});
				}

				// 动画是否停止
				var isStop = true;
				var effect = {
					// 直接显示/隐藏
					"0" : function(complete) {
						$($boxes).each(function(i) {
									$boxes[i].eq(pIndex).hide();
									$boxes[i].eq(index).show();
								});
						if (complete) {
							complete();
						}
					},
					// 渐变显示
					"1" : function(complete) {
						$($boxes).each(function(i) {
									if (i == 0) {
										isStop = false;
										$boxes[i].eq(pIndex).fadeOut("slow");
										$boxes[i].eq(index).fadeIn("slow",
												function() {
													isStop = true;
													if (complete) {
														complete();
													}
												});
									} else {
										$boxes[i].eq(pIndex).hide();
										$boxes[i].eq(index).show();
									}
								});
					},
					// 由小放大效果 zindex基础数字=20
					"2" : function(complete) {
						$($boxes).each(function(i) {
									if (i == 0) {
										isStop = false;
										$boxes[i].css({
													"z-index" : 2
												});
										$boxes[i].eq(pIndex).css({
													"z-index" : 3
												});
										$boxes[i].eq(index).css({
													"z-index" : 4,
													"display" : "none"
												}).show("slow", function() {
													isStop = true;
													if (complete) {
														complete();
													}
												});
									} else {

										$boxes[i].eq(pIndex).hide();
										$boxes[i].eq(index).show();

									}
								});
					},
					// -不可用
					"3" : function() {
						$($boxes).each(function(i) {
									if (i == 0) {
										isStop = false;
										$boxes[i].css({
													"z-index" : 2
												});
										$boxes[i].eq(pIndex).css({
													"z-index" : 3
												});
										$boxes[i].eq(index).css({
													"z-index" : 4,
													"display" : "none"
												}).show("slow", function() {
													isStop = true;
													if (complete) {
														complete();
													}
												});
									} else {
										$boxes[i].eq(pIndex).hide();
										$boxes[i].eq(index).show();
									}
								});
					},
					// 上下滑动
					"4" : function() {

					}
				};

				// 执行动作
				var play = function(complete) {

					if (index != pIndex && isStop) {
						$btns.eq(pIndex).removeClass(o.tabHere[pIndex]);
						$btns.eq(index).addClass(o.tabHere[index]);
						effect[o.effect](complete);
						pIndex = index;
					}
				};

				$btns.bind(o.event, function() {
							index = $btns.index(this);
							if (autoTimer != "") {
								clearInterval(autoTimer);
							}
							play(function() {
										if (o.autoPlay) {
											autoPlay();
										}
									});

							return false;
						});

				var autoTimer = "";
				var autoPlay = function() {
					autoTimer = setInterval(function() {

								if (index < len - 1) {
									index++;
								} else {
									index = 0;
								}
								play();

							}, 5000);
				};

				if (o.autoPlay) {
					autoPlay();
				}
			}
		});